Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Clasificación basada en la detección de errores (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4

Monografias.com
11
Diseñar un sistema de aprendizaje de la programación (III)
Usando y construyendo una base de conocimientos colaborativa
Asocia información semántica a cada uno de los tipos de error.
Recoge información contextualizada y derivada de la experiencia de los desarrolladores lo que permite que cualquier desarrollador pueda aprender de la experiencia de los demás.
Se realimenta dinámicamente.

Monografias.com
12
Diseñar un sistema para mejorar la calidad del software (IV)
Analizando en profundidad del código
Elaborando estadísticas sobre los errores
Construyendo una base de conocimiento colaborativamente
Utilizando la experiencia acumulada de otros desarrollos
Permitiendo el desarrollo en equipo de los proyectos

Monografias.com
13
Clasificación de usuarios basada en la detección de errores
Caracterizar los errores que cometen los desarrolladores en distintos niveles de aprendizaje basándose en el sistema.
Obtener un perfil de desarrollador dependiendo de su experiencia, utilizando los datos del análisis anterior.

Monografias.com
14
Metodología de trabajo
(Gp:) Modelado del
(Gp:) sistema

(Gp:) Desarrollo
(Gp:) del sistema

(Gp:) Proyectos

(Gp:) Resultados del
(Gp:) Análisis de error

(Gp:) Clasificación
(Gp:) usuario
(Gp:) basándose en
(Gp:) los errores

Primer objetivo
Segundo objetivo

Monografias.com
15
Distintas soluciones analizadas
Sistemas de aprendizaje virtual de la programación
Entornos para el aprendizaje de la programación
Entornos de desarrollo comerciales
Entornos colaborativos
Gestores de prácticas avanzados
Herramientas de detección de errores

Monografias.com
16
Sistemas de aprendizaje virtual de la programación
Entornos analizados:
Algorithms in action, JCAT, HalVis, KBS-Hyperbook Introduction to Java Programming, Curso interactivo de programación en Pascal, Exploring Computer Science Concepts with Scheme, ELM-ART, WWW-Based C++ Course, DSTool
Ventajas
Web como medio de comunicación entre el estudiante y el sistema.
Carencias:
Son demasiado teóricos.
Muy pocos disponen de herramientas de programación.
Los ejemplos de código alejados de los problemas reales.

Monografias.com
17
Entornos de desarrollo aprendizaje
Entornos analizados:
BlueJ [Kölling 2003],
AnimPascal [Satratzemi 2001]
Carencias
No proporcionan ayuda:
Sobre la interpretación de los errores cometidos,
Sobre la solución de los mismos.
Necesitan instalación y configuración por parte del usuario.
Los estudiantes tienen problemas en la transición hacia entornos comerciales

Monografias.com
18
Entornos de desarrollo comerciales
Entornos analizados:
Eclipse, NetBeans, JBuilder
Carencias
Gestión de errores pobre.
No señalan errores conceptuales.
Es necesaria una experiencia para poder relacionar los síntomas de los defectos con sus verdaderas causas para poder repararlos.
Información ambigua.
No siempre la información del error es correcta.
No proporcionan ayuda para solucionar errores.
Complejos para programadores principiantes

Monografias.com
19
Entornos de colaboración
Entornos analizados
RECIPE, (Real-time Collabortive Interactive Programming Environment) [Shen 2000]
COLLEGE [Bravo C. 2004], PlanEdit [Redondo 2002]
Ventajas
Facilita la revisión del código por personas distintas al autor lo que permite detectar y eliminar.
Permiten realizar el trabajo de forma síncrona.
Carencias
No utilizan la información de los errores para generar conocimiento.
Muchas veces es difícil aprovechar el conocimiento aportado por un usuario para reutilizarlo en un futuro.

Monografias.com
20
Gestores de prácticas avanzados
Sistemas analizados:
Sistema de entrega y evaluación de objetivos de aprendizaje [Huizinga 2001], Praktomat [Zeller 2000]
Carencias:
Informe sobre errores de compilación y prueba
Información proporcionada no es muy reveladora de los verdaderos problemas
Protocolo petición-respuesta
Sistema sólo ayuda a corregir errores; pero no a evitarlos.
No permite revisar del proceso de desarrollo que ha seguido el alumno.

Monografias.com
21
Técnicas de detección de errores
Inspección manual
Técnica muy eficiente.
Consumen tiempo y se requiere práctica para aplicarlas correctamente.
Técnicas dinámicas (pruebas y asertos)
Técnica imprescindible para comprobar que se cumplen los requisitos.
Es difícil construir un conjunto de prueba adecuado en programas complejos.
Técnicas estáticas
No están limitados a la calidad de los casos de prueba.
El análisis no siempre es suficientemente preciso y exceciva cantidad de información poco relevante.

Monografias.com
22
Herramientas de análisis estático
Herramientas que buscan errores / herramientas que comprueban el estilo.
Distintas herramientas pueden complementarse.

Monografias.com
23
Resumen de la situación actual (I)
Sistemas no sirven para las distintas etapas de experiencia de un programador
Sistemas y entornos orientados al aprendizaje, están planteados para etapas iniciales de aprendizaje.
Sistemas profesionales sólo accesible con cierto grado de experiencia.
Importancia fundamental de utilizar la Web como interfaz; pero sólo se utiliza para proporcionar contenidos.
Colaboración es fundamental, sin embargo se utiliza de forma limitada:
Proceso de desarrollo: sistemas de control de versiones
Pocos sistemas utilizan la colaboración para recoger la experiencia de los desarrolladores.

Monografias.com
24
Resumen de la situación actual (II)
Gestión de errores
Proporcionan poca ayuda para comprender cada mensaje de error
Es difícil relacionar el mensaje con las causas del error.
Carecen de un registro de las compilaciones que va realizando el desarrollador
Análisis de errores sólo para generar código.
Herramientas para la detección automática de errores
Pueden ahorrar tiempo
Generan gran cantidad de warnings que son difíciles de analizar para un usuario

Monografias.com
25
Detección automática de errores
¿Por qué no diseñamos un entorno activo que con la información sobre los errores guíe al estudiante para construir software sin errores?
¿Por qué no articular todo este proceso de mejora en la calidad del software en base a los errores detectados automáticamente en el código usando técnicas de procesadores de lenguaje?

Monografias.com
26
Definición de un modelo para el aprendizaje de la programación
Características
Búsqueda, almacenamiento y visualización de errores
Análisis de los errores de programación
Aprendizaje continuo con información de los propios desarrolladores
Colaboración en el desarrollo

Monografias.com
27
Esquema del modelo del sistema
Base de
conocimiento
sobre errores
Búsqueda, almacenamiento
y visualización de errores
Fichero
fuente
Genera avisos
para prevenir errores
Errores
Información semántica
sobre el error
Análisis de los errores
de programación
Aprendizaje continuo
con información de los
propios desarrolladores
Colaboración en
el desarrollo

Monografias.com
28
Definición de un modelo para el aprendizaje de la programación (I)
Búsqueda, almacenamiento y visualización de errores
Búsqueda de errores mediante técnicas de procesadores de lenguaje.
Creación de una historia de compilación.
Visualización de los errores.
Todo se realiza en tiempo de escritura de código.

Monografias.com
29
Historia de compilación
Para realizar una búsqueda exhaustiva de posibles errores se han combinado una serie de herramientas de análisis estático.
Se invocarán cada vez que el desarrollador quiera compilar su código.
Todos los avisos generados se guardan en un base de datos para formar la historia de compilación:
Asociados a un desarrollador y a un proyecto.
Clasificados por el tipo de error

Monografias.com
30
Definición del modelo (II)
Análisis de los errores de programación
Obtención de métricas de errores mediante el análisis de la historia de compilación.
Análisis de evolución por tipo de errores.
Análisis de frecuencias.
Análisis comparados entre un usuario y el grupo.
Generación de avisos personalizados adaptados al perfil de los desarrolladores.

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter